package com.gosling.cloudspace.common.entity.bo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 全局异常链路监控
 *
 * @author lihonglin
 * @date 2024/2/22 15:27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
//@TableName("exception_global_trace")
public class GlobalExceptionPO {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty("接口耗时")
    @TableField(value = "consuming_time")
    private String consumingTime;
    @ApiModelProperty("接口地址")
    @TableField(value = "uri")
    private String uri;
    @ApiModelProperty("场景 业务人员/开发人员")
    @TableField(value = "scene")
    private String scene;
    @ApiModelProperty("请求IP")
    @TableField(value = "ip")
    private String ip;
    @ApiModelProperty("请求参数")
    @TableField(value = "req_data")
    private String reqData;
    @ApiModelProperty("响应编码")
    @TableField(value = "error_code")
    private Integer code;
    @ApiModelProperty("userId")
    @TableField(value = "user_id")
    private String userId;
    @ApiModelProperty("异常时间")
    @TableField(value = "exp_date_time")
    private String expDateTime;
    @ApiModelProperty("类路径")
    @TableField(value = "class_path")
    private String classPath;
    @ApiModelProperty("异常信息")
    @TableField(value = "exception_message")
    private String exceptionMessage;
    @ApiModelProperty("异常追踪信息")
    @TableField(value = "trace_info")
    private String traceInfo;
    @ApiModelProperty("链路ID")
    @TableField(value = "trace_id")
    private String traceId;
    @ApiModelProperty("项目名称")
    @TableField(value = "server_name")
    private String serverName;
    @ApiModelProperty("功能名称")
    @TableField(value = "title")
    private String title;

    @ApiModelProperty("监控业务类型")
    @TableField(value = "monitor_type")
    private String monitorType;

    @ApiModelProperty("是否展示")
    @TableField(value = "show_flag")
    private Integer showFlag;
}
